﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Security;

namespace WebshopPizzaRio
{
    public partial class Bestelling_gegevens : System.Web.UI.Page
    {
        private BestellenBLL bestel = new BestellenBLL();
        private WebshopPizzaRio.App_Code.BLL.GebruikersBLL gebruiker = new App_Code.BLL.GebruikersBLL();

        protected void Page_Load(object sender, EventArgs e)
        {
            ShoppingCart cart = (ShoppingCart)Session["shoppingcart"];
            if (cart.getShoppingCart.Count <= 0)
            {
                Response.Redirect("Voorpagina.aspx");
            }
            else
            {
                winkelwagenoverzicht_LV.DataSource = cart.getShoppingCart;
                winkelwagenoverzicht_LV.DataBind();

                MembershipUser currentuserid = Membership.GetUser();
                Guid userid;

                try
                {
                    if ((Guid)currentuserid.ProviderUserKey == null)
                    {
                        throw new NullReferenceException();
                    }

                    userid = (Guid)currentuserid.ProviderUserKey;
                    UserNAWLV.DataSource = gebruiker.GetUserNAW(userid);
                    UserNAWLV.DataBind();
                }
                catch (NullReferenceException)
                {

                }
            }
        }

        protected void bt_bestellingoverzicht_Click(object sender, EventArgs e)
        {
            ShoppingCart cart = (ShoppingCart)Session["shoppingcart"];
            MembershipUser currentuserid = Membership.GetUser();
            Guid userid;

            try
            {
                if ((Guid)currentuserid.ProviderUserKey == null)
                {
                    throw new NullReferenceException();
                }

                userid = (Guid)currentuserid.ProviderUserKey;

                double totaalprijs = (double)cart.getTotaalBedrag();
                int bezorgmethode = int.Parse(RBL_bezorgmethode.SelectedValue.ToString());
                bestel.InsertProductVerkoopUser(userid, totaalprijs, bezorgmethode);

                foreach (Items item in cart)
                {
                    bestel.InsertNewVerkoop(item.PizzaID, item.Aantal);
                }
                if (bezorgmethode == 1)
                {
                    lbl_bestellingafgerond.Visible = true;
                    lbl_bestellingafgerond.Text = "Bedankt voor uw bestelling. Uw pizza('s) worden zo snel mogelijk bezorgt.";
                }
                else
                {
                    lbl_bestellingafgerond.Visible = true;
                    lbl_bestellingafgerond.Text = "Bedankt voor uw bestelling. U kunt u pizza over een half uur ophalen.";
                }

                lbl_bestellingordernummer.Visible = true;
                lbl_bestellingordernummer.Text = "Uw ordernummer is: " + bestel.getVerkoopNummer();
                cart.getShoppingCart.Clear();
                bt_bestellingoverzicht.Enabled = false;
                ListView listviewmp;
                listviewmp = (ListView)(Master).FindControl("ListView1");
                listviewmp.DataBind();

                Label label1mp;
                label1mp = (Label)(Master).FindControl("label1");
                label1mp.Text = "Totaal bedrag: € " + cart.getTotaalBedrag();
            }
            catch (NullReferenceException)
            {

            }
        }
    }
}